/**
 * N个点完全图，每条边的权值定义为
 * (u,v)边的权值 = |Au + Av| - |Au - Av|
 * 求所有点对最短路的和
 * (u, v)边的权值其实就是 2倍较小的点权值
 * 
 * 所以(u, v)点对（假设u权值较小）的最短路只有两种可能：
 * 1. u -> v，u直接到v，则就是 2u
 * 2. u -> i -> v: u先到i再到v, i是最小点权，则该最短路为 4i
 * 所以先对点权排序，对第i个点：
 *   可以确定`i - 1`个最短路的权值，根据上面的方法
 * 计算一下即可。
 * 上述过程其实计算的是有向图，再乘2即可
 */
#include <bits/stdc++.h>
using namespace std;

using llt = long long;
using vi = vector<int>;
using vvi = vector<vi>;

int N;
vi A;


llt proc(){
    if(1 == N) return 0;

    A[0] = 0;
	sort(A.begin(), A.end());

	llt ans = 0;
	int level = A[1] + A[1];
	for(int i=1;i<N;++i){
		if(A[i] <= level){
            ans += (N - i + 0LL) * (A[i] + A[i]);
		}else{
            ans += (N - i + 0LL) * (level + level);
		}
	}
	return ans + ans;
}

int main(){
#ifndef ONLINE_JUDGE
    freopen("z.txt", "r", stdin);
#endif
    ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(0);
    int nofkase = 1;
    cin >> nofkase;
    while(nofkase--){
        cin >> N ;
		A.assign(N + 1, {});
		for(int i=1;i<=N;++i){
			cin >> A[i];
		}
		cout << proc() << "\n";
    }
    return 0;
}